#include <iostream>
using namespace std;
int nums[30], step;
bool flag;
bool isRight()
{
	for (int i = 0; i < 20; ++i)
		if (nums[i])
			return false;
	return true;
}
void DoBowls(int i)
{
	nums[i] = !nums[i];
	if (i > 0)
		nums[i - 1] = !nums[i - 1];
	if (i < 19)
		nums[i + 1] = !nums[i + 1];
}
void DFS(int i,int dp)
{
	if(step==dp)
	{
		flag = isRight();
		return;
	}
	if (i >= 20 || flag)
		return;
	DoBowls(i);
	DFS(i + 1, dp + 1);
	DoBowls(i);
	DFS(i + 1, dp);
}
int  main()
{
	for (int i = 0; i < 20; ++i)
		cin >> nums[i];
	for(step=0;step<20;++step)
	{
		flag = false;
		DFS(0, 0);
		if(flag)
			break;;
	}
	cout << step << endl;
	return 0;
}